package com.sqlcheck.model;

import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class OptimizationSuggestion {

    private String id;
    private OptimizationType type;
    private String description;
    private String originalCode;
    private String optimizedCode;
    private Integer lineNumber;
    private Integer columnNumber;
    private ImpactLevel impact;
    private Double confidence;
    private String explanation;

    public enum OptimizationType {
        FUNCTION_REPLACE,  // 函数替换
        SYNTAX_ADJUST,     // 语法调整
        PERFORMANCE_TUNE,  // 性能优化
        TYPE_CONVERT       // 类型转换
    }

    public enum ImpactLevel {
        HIGH,   // 高影响
        MEDIUM, // 中影响
        LOW     // 低影响
    }
}